Automatic Call Distribution (ACD) systems queue callsxe2x80x94typically from customersxe2x80x94and connect them to agents that are trained to handle the general type of inquiry generated by such customer calls. As a minimum courtesy, it is known in the art to inform callers waiting in a queue of an estimated wait time before service. In U.S. Pat. No. 4,788,715, Lee discloses a system in which calls are entered into a single queue of similar attendants and an estimated wait time is provided for each caller entering the queue. As the attendants are similar (i.e. all attendants are trained to handle the same type of call inquires), the estimated wait time is simply based on the number of customers in queue times a factor (xe2x80x9cESTQxe2x80x9d, which is a metric of average sampled service times) divided by the number of available similar serversxe2x80x94to provide a lower bound estimate of wait. This estimate may be altered by another factor (xe2x80x9cESTSxe2x80x9d, which is a metric of average sampled service times for customers actually served) to provide an upper bound estimate of wait.
Another known method for wait time estimation, used when appropriate values of call processing time and agents were difficult to obtain, estimates wait time as the average time spent in queue so far by the calls already in a queue.
Today""s service queues are not so simple, however. Advanced call queuing techniques allow for the possibility of call routing involving priorities, or calls overflowing to secondary groups of agents. These features, however, can cause systematic inaccuracies in these prior methods of estimating wait times. For example, a call queuing for a group of 5 agents with average call processing time of 10 minutes will be given an expected wait time of 60 minutes if there are 30 calls ahead of it in queue. If, however, the routing algorithm queues the call to a secondary group of 10 additional agents after the call has waited 2 minutes, it is likely the call will be served well before an hour has elapsed. Additionally, the term xe2x80x9ccallerxe2x80x9d is a much broader concept today. For example, today""s caller is anyone trying to contact a call center to obtain service or assistance. Any means of communication are possible to facilitate such callxe2x80x94telephone (analog or digital), email, voice-over-IP, and the like.
Moreover, increasingly in client-server environment, the switching unit and the wait time processing/playback applications are different entities and not necessarily included in a single, homogenous box
Thus, there is a need to quickly and accurately provide current callers with a realistic estimate of their particular wait time, based on their particular service requestxe2x80x94and based on the increasingly diverse sets of operating environments for call center.
The present invention provides a system and methods for more accurately predicting the wait time of a caller querying a request from a call center. The call center of the present invention comprises a switching server, a recording/playback server, and an agent server. Callers communicate with the call center with whatever media is availablexe2x80x94e.g. telephones, computers, emails, web buttons, and the likexe2x80x94and request service from available agents. If there is no available agent to handle the request, call is queued by the call center until an agent becomes available.
The present invention associates a set of agents to which the caller may be queued. This set of agents selected may depend on the skills that each agent possesses, the type of service request made by the caller, caller priority, time of day, day of week and other conditions. An initial wait time estimate may then be given to the caller who is just queued. As a caller""s conditions may dynamically change, a caller""s position in the queue may also change as well as the pool of available agents. Periodic wait time estimate updates may also be given to the queued caller.
In another aspect of the present invention, a caller""s wait time may be estimated based upon mean inter-arrival times for recently past calls into the call center. An average (i.e. average, mean, or mode or other statistical measure) inter-arrival time may be calculated for the last several calls. The caller""s estimated wait time then may be calculated as a function of this calculated inter-arrival time and the number of calls on the queue.
In another aspect of the present invention, a caller""s wait time may be estimated based upon calls that are recently queued and dequeued. A table of values, Wnj, are maintained wherein each such value denoting the jth recent wait time of calls arriving with n calls already in the queue. An average value, Wn, for each n among all such Wnj, is thus calculated and a caller""s estimated wait time is thus given, depending on how many calls are in the queue at the time of calling.
One advantage of the present invention is flexibility. With the present invention, a call center administrator does not have to supply values for average call processing time and agents staffed. Additionally, the number of agents eligible to answer the call and the average call processing time can vary dynamically over time, as do caller priorities and call volume, and the present invention will automatically adjust.